Visit my homepage at http://www.cinternet.net/~don
All code By DonDon DScript⌐ , if ya don't at least mention me , Well ya will Pay =)
*** Clone Killer from DonDon ! ***
This Script includes a ton more than a simple , Powerful Clone Scanner.
1.) It includes an "on join" clone kick/ban that allows you to set the max clones for ops and nooops separately
and a //cc Channel Clone Scanner.
2.) Check out my notes on the "math" aliases i have included in this script,
I think you will like the
3.) Notes Not to forget , This Clone Script relys on the IAL internal address list of mIRC
if you are not sure what that is type /ial , it SHOULD say Ial is ON , If not type /ial on , then part and rejoin the
channel you wish to Clone Protect.
*** Description of Aliases i have included , These are used by various parts of my script ***
; "Isme" aliases is an identier for checking for you and clones of you, ie if ($isme($nick) = true) { then $nick is from the same port and domain you are }
; "isBot" aliases is an identifier for checking for X and W , ie if ($isbot(W) = true) { then W = #cservice channel Bot }
; "dl" aliases is an identier for checking A user level , ie //echo 4 -a $dl($me) >> will return YOUR user level !
; "cc" aliases is a very fast Clone Scanner aliases type //cc # in any channel window for a quick Scan
; *** Note *** with "cc" the %active variable can be used to send the scan info anywhere ya wish.
; "MATH" aliases is a "VERY POWERFUL" $identifier which includes:
; A Percent, Dollar, Byte, Kilobyte, Add , Subtract, Divide, Multiply, Power, and number convertor
;
; Add = $math(num1,num2,+) Adds num1 to num2 , and returns result
; Subtract = $math(num1,num2,-) Subtracts num2 from num1 , and returns result
; Divide = $math(num1,num2,-) Divides num1 by num2 , returns "ROUNDED" result
; Multiply = $math(num1,num2,*) Multiplies num1 and num2 , returns result
; Percent = $math(num1,num2,p) Figures what Percent num1 is of num2 , Rounded of course.
; Power = $math(num1,num2,^) Returns num1 to the power of num2
; Byte = $math(num1,b) Returns the Comma'd byte result of num1 , $math(1000,b) returns 1,000 bytes
; Kilobytes = $math(num1,k) Returns the Comma'd Kilobyte result of num1 , $math(1000,k) returns 1.0 Kilobytes
; Dollar = $math(num1,$) Returns the Comma'd Dollar format of num1 , $math(1121290.01,$) returns $1,121,290.01
; Number = $math(num1,th) Returns the Counted result of num1 , $math(1,th) - returns 1st , $math(23,th) - returns 23rd
; try any of these like this
; type this //echo 4 -a $math(1,1,+)
; the result is an echo to the active window in red the number 2 , since + was used it added 1 + 1 = 2
Copy and paste these to "Channel POPups"
DonDon's CloneCheck
.On:set %cloneCheck ON | echo 4 -a CloneCheck is now %clonecheck | set %protect $$?="Enter Channels to Protect , #mirc-scripts,#fun ?" | echo 4 -a Channels Protected are %protect
.OFF:set %cloneCheck OFF | echo 4 -a CloneProtect is now %clonecheck
.Max Op Clones:/set %c.ops $$?="Max Clones for ops is [ %c.ops ] , New Value?"
.Max NopOp Clones:/set %c.nor $$?="Max Clones for ops is [ %c.nor ] , New Value?"
.Ban Status:/set %c.ban $$?="Ban on Excess Clones is [ %c.ban ] , New Value?"
.Kick Status:/set %c.rem $$?="Kick on Excess Clones is [ %c.rem ] , New Value?"
Copy and Paste these remote/events
1:ON JOIN:%protect: {
if ($nick = $me) { who $chan | Echo 6 -a Updating Ial for -= $+ $chan $+ =- | halt }
if ($isbot($nick) = true) { halt }
if ($isme($nick) = true) { notice $nick Hey There Boss! , Welcome to $chan | halt }
:clone | if (%clonecheck != ON) { goto end }
%nx = 1 | %qc = $chr(32) | %nc = $ial($wildsite,0) | If (%nc = 0) { echo 4 -a Error Reading IAL on $site | halt }
:up | if [ $ial($wildsite,%nx).nick ] ison $chan { %qc = %qc $ial($wildsite,%nx).nick , | inc %clns | inc %nx | goto up }
if (%Clns = %c.max) { if (%c.max = 1 ) { halt } | notice $chan %qc are %clns Connect(s) from $site and on $chan -=Max Connects: $+ %c.max $+ =- | goto other }
if (%clns > %c.max) {
if ($me isop $chan) {
if (%c.ban = on) { if ($isme($nick) = false) { ban -u30 $chan $nick 4 } }
if (%c.rem = on) {
%num = 1 | :Kick | if (%num <= %Clns) { set %nick $gettok(%qc,%num,44) | if ($isme(%nick) = false) { kick $chan %nick -=Clone Number %num $+ =- out of %clns $+ , $a.kick(clone) Clones Removed by $dsc } | inc %num | goto Kick }
goto end
}
}
else { notice $chan %qc are %clns Clones from $site and on $chan Get Them! | goto end }
:up | if [ $ial(%na,%nx).nick ] ison $1 { %qc = %qc $ial(%na,%nx).nick , | inc %nx | goto up }
%qc = $remove(%qc,$chr(32)) | if ($gettok(%qc,0,44) > 1) { if (%na !isin %sites) { inc %clns 1 | inc %clnss 2 | %sites = %sites %na | %active %qc are the 4 $math(%clns,th) $+ Set of clones from %na and on $1 right now } }